# 学生管理系统  学号 姓名 性别 电话 住址
# 20240301 达姆 男 13311681812 北京市朝阳区中南海2栋1304

damu = {
    "id":"20240301",
    "name":"达姆",
    "gender":1,
    "tel":"13311681812",
    "address":"北京市朝阳区中南海2栋1304"
}

# 类
class Student:
    # 类属性(类变量)
    # 类属性是当前类所对应的实例共同拥有的
    i = 0
    # 构造函数
    # self就是构造出来的实例
    def __init__(self,id,name,gender,tel,address):
        #id,name,gender,tel,address 称为实例属性(实例变量)
        #实例属性 在每一个实例之间是独立的
        self.id = id
        self.name = name
        self.gender = gender
        self.tel = tel
        self.address = address

    # 在类定义的结构中出现的函数(不以__开头,__结尾) 我们称为方法
    # 所有的方法实例都可以调用,方法的第一个参数self就是实例
    def display(self):
        print(self.id,self.name,self.gender,self.tel,self.address)

# 实例化(对类进行调用就称为实例化)
# 对类进行调用,本质上调用到的是类的构造函数__init__
damu = Student("20240301","达姆",1,"13311681812","北京市朝阳区中南海2栋1304")
zdy = Student("20240302","周冬雨",0,"13311681812","北京市朝阳区中南海2栋1304")
# 实例化的结果是返回一个实例(对象)
# 实例长的很像字典
# 我们可以通过实例的.__dict__属性来访问实例的字典表示形式
print(damu.__dict__)
print(zdy.__dict__)

#类属性的访问与修改 (可以通过类或实例来访问,但是只能通过类来修改)
Student.i = 9
# damu.i = 9
print(Student.i)
print(damu.i)
print(zdy.i)

print(damu.__dict__)
print(zdy.__dict__)

damu.display()